iT邦幫忙

2022 iThome 鐵人賽

DAY 16
0
自我挑戰組

30天Java由淺入深系列 第 16

Day 16 : 物件基礎概念

  • 分享至 

  • xImage
  •  

概念

今天開始會介紹物件基礎到進階的觀念,前面15天的章節比較算是讓我們看懂程式碼並應用。現在我們已經知道了Java重要的基礎語法,後續不會針對此做太詳盡的解說 ~

物件導向最根本的觀念是類別與物件的關係,可以說類別是物件的一個模板(template) ; 物件則是類別的多個實例。當我們創造一個物件,它會繼承(inherit)其類別裡所有的函數變數。

關於繼承(inheritance),其實是會有一個主類別(superclass),與一個子類別(subclass)。子類別繼承主類別中的所有屬性函數,並用extends去實行。後續會有專門一篇在介紹此觀念 !!!

https://ithelp.ithome.com.tw/upload/images/20221001/2015121692tqbu4UAg.png

  • 類別與物件示範關係圖 :
    我們也可以把手機當作一個物件object,它的顏色外觀就是屬性attributes,應用程式工具就是一個函數methods。最後,手機的設計圖就好比是一個類別class

類別與物件

要在類別中創造一個物件,我們會用到new

/* Create a class name "Main" and a object name "newobj"
   Using "new" this keyword to create object            */
   public class Main{
    String name = "Chi";
	
	public static void main(String[] args){
	  Main newobj = new Main(); // Class_Name Object_name = new Class_name();
	  System.out.println(newobj.name)      //Output : Jaosn
	}
}
  • 物件繼承了類別的屬性,所以我們可以使用新的’’’newobj’’’物件,將字串名字印出。

創造一個物件的方式 : Class_Name Object_name = new Class_name();


假設我們不需要某個屬性被物件所更改,我們使用的方式是用前置修飾字final

public class Main{
	final int PI = 3.14159;
    
	public static void main(String[] args){
		Main math = new Main();
		math.PI = 3.1415926;             //error
		System.out.println(math.PI);
	}
}
  • 使用了final後,如果被物件更改到,編譯器將會跑出error.

我們在Day 12 : 引數與參數時有說到,我們會創造兩個類別,一個儲存變數,一個控制執行程式,再分為兩個檔案儲存。如果忘記可以回去複習一下~

/*First file : Main.java*/

public class Main{
	int grade = 65;
}
/*Second file : Second.java*/

public class Second{
	Main newobj = new Main();
	System.out.println(newobj.grade);
}
  • 即使儲存在不同檔案,我們一樣可以透過創造物件的方式去使用類別中的變數。

以上內容若有誤,煩請不吝嗇告知!!!謝謝您!!!/images/emoticon/emoticon07.gif


上一篇
Day 15 : 遞迴應用-河內塔 in Java
下一篇
Day 17 : 物件與類別關係
系列文
30天Java由淺入深30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言